package edu.nwpu.dao;


import edu.nwpu.pojo.RecvInfo;
import org.apache.ibatis.annotations.Param;
import java.util.List;

public interface RecvInfoMapper {

    /**
     * 通过主键查询收货信息（包括已删除）
     *
     * @param id: 收货信息Id
     *
     * @return edu.nwpu.pojo.RecvInfo 收货信息
     */
    RecvInfo selectByPrimaryKey(@Param("id") Long id);

    /**
     * 查询一个用户的所有收货地址信息（不包括已经删除的地址）
     *
     * @param userId: 用户id
     *
     * @return java.util.List<edu.nwpu.pojo.RecvInfo> 结果列表
     */
    List<RecvInfo> selectByUserId(@Param("userId") Long userId);

    /**
     * 插入新的收货地址信息
     *
     * @param recvInfo: 收货地址信息
     *
     * @return int
     */
    int insertRecvInfo(RecvInfo recvInfo);

    /**
     * 更新收货地址信息 （不更新收货地址信息的状态码）
     * 更新收货人姓名，性别，电话号，地址
     * @param recvInfo:
     *
     * @return int
     */
    int updateByPrimaryKey(RecvInfo recvInfo);

    /**
     * 更新收货信息的状态码
     *
     * @param id:
     * @param statusCode:
     *
     * @return int
     */
    int updateStatusCodeById(@Param("id") Long id, @Param("statusCode") Integer statusCode);

    @Deprecated
    List<RecvInfo> selectAllRecvInfoList();

    @Deprecated
    int deleteByPrimaryKey(@Param("id") Long id);

}
